To make an application program (to be referred to as an application hereinafter) running on a computer control a peripheral device, as a general method, various settings required for control are transferred, as parameters, together with a control start instruction to a peripheral device control processing program such as a device driver. As described above, the application transfers the various settings required for controlling the peripheral device to the device driver as parameters. This makes it possible to obtain peripheral device operation intended by the application. For example, when an application running on a computer executes printing, various settings required for printing are transferred, as parameters, together with a printing start instruction to a printing processing program such as a printer driver. This makes it possible to obtain a printout intended by the application.
In the following description of background arts and problems, to grasp the technical contents and problems more clearly, printing processing from an application, which is an application of the present invention, will be described in detail. These problems are common to control of a peripheral device using an application, and are not particularly limited to the printing processing.
In the printing processing from the application, the range of types of setting values which can be designated to obtain a printout intended by the application is limited to designation of a sheet feed port which can be supported by any printer, designation of two-sided printing and one-sided printing, and the like. Other useful functions which cannot be directly designated by the application although they are provided by a printer or printer driver must be designated by opening the user interface of the printer driver. For this reason, when display of the user interface of the printer driver is not desired in printing output from various enterprise system software programs, the functions of the printer or printer driver cannot be sufficiently enhanced.
To fully enhance printers or printer drivers available these days, a new printer driver supports a special interface which can be used from an application to perform model-dependent settings to the printers and printer drivers. This printer driver allows settings equivalent to settings at the user interface of the printer driver.
When this interface is used in an environment where the function extension of a plugin printer driver is implemented, the following problems are posed. The function extension of the plugin printer driver is a method of adding a function by providing a difference module, i.e., a plugin. When a function is extended in a plugin form, setting items corresponding to the extended function are present and unknown to the printer driver. When the setting items of the function extended in the plugin form from the application are to be modified using the special interface, the printer driver recognizes a setting/modification request to the setting items as a request to an unknown setting item. The printer driver notifies the application of “no support”.
The printer driver must consider the function of a plugin in order to set/modify the plugin from the application. That is, the device driver for peripheral device control must consider the function of a plugin in order to set/modify the function of the plugin for peripheral device control from the application.